﻿#ifndef LOG_H
#define LOG_H

// 默认日志级别，可以通过宏来修改  
#ifndef LOG_LEVEL  
#define LOG_LEVEL LOG_DEBUG // 默认日志级别  
//#define LOG_LEVEL LOG_INFO // 默认日志级别  
#endif  


#include <pthread.h>
#include <stdarg.h>

// 日志级别枚举
typedef enum {
    LOG_DEBUG,
    LOG_INFO,
    LOG_WARNING,
    LOG_ERROR,
    LOG_NONE
} LogLevel;




// 设置日志级别
void set_log_level(LogLevel level);

// 日志打印函数，支持格式化字符串和简单字符串
void log_message(LogLevel level, const char* format, va_list args);

// 便捷的日志打印函数
void log_info(const char* format, ...);
void log_debug(const char* format, ...);
void log_warning(const char* format, ...);
void log_error(const char* format, ...);
void log_debug_print(unsigned char* buffer, size_t size);
void log_print_level();
#endif // LOG_H